import java.util.ArrayList;
import java.util.List;

public class PingpangClub {
    // 乒乓球俱乐部类，包含运动员和教练的列表
    private List<PingpangSporter> sporters;
    private List<PingpangCoach> coaches;

    // 构造函数，初始化运动员和教练列表
    public PingpangClub() {
        this.sporters = new ArrayList<>();
        this.coaches = new ArrayList<>();
    }
    // 添加运动员的方法
    public void addSporter(PingpangSporter sporter) {
        sporters.add(sporter);
        System.out.println(sporter.getName() + " 加入了乒乓球俱乐部。");
    }
    // 添加教练的方法
    public void addCoach(PingpangCoach coach) {
        coaches.add(coach);
        System.out.println(coach.getName() + " 成为了乒乓球俱乐部的教练。");
    }
    // 组织训练和比赛的方法
    public void organizeTraining() {
        System.out.println("乒乓球俱乐部组织训练活动：");
        // 遍历教练列表，调用相应的方法
        for (PingpangCoach coach : coaches) {
            coach.teach();
        }
        // 运动员列表，调用相应的方法
        for (PingpangSporter sporter : sporters) {
            sporter.train();
        }
    }
    public void organizeMatch() {
        System.out.println("乒乓球俱乐部组织比赛活动：");
        // 运动员列表，调用相应的方法
        for (PingpangSporter sporter : sporters) {
            sporter.participateMatch();
        }
    }
    // 显示俱乐部统计信息的方法
    public void showClubStats() {
        System.out.println("乒乓球俱乐部统计信息：");
        // 遍历教练和运动员列表，调用相应的方法
        //检查列表是否为空，避免空指针异常
        if (coaches!=null) {
            for (PingpangCoach coach : coaches) {
                coach.showTraineeStats();
            }
        }
        if (sporters!=null) {
            for (PingpangSporter sporter : sporters) {
                sporter.showMatchStats();
            }
        }
    }
}
